<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>


    <script>

        // promise  也是异步编程的一种解决方案
        //    现在许下一个承诺，将来才能知道结果

        // Promise 是一个容器，一般用来存放一段未来才会知道结果的代码  --- 通常是异步

        // 结果是成功的  就调用第一个函数
        // 结果是失败的  就调用第二个函数  

        // 无论是成功或者失败都有一个结果


        // promise 有三种状态
        //    一开始的时候   pending   进行中
        //    结果出来以后   状态会变成成功或者失败   成功：fulfilled    失败的：rejected

        // promise 有一个结果  


        // promise 如果是失败的结果就会内部直接报错


        // const p = new Promise(function (fn1, fn2) {
        //     setTimeout(function () {
        //         const num = parseInt(Math.random() * 100);
        //         if (num % 2 === 0) {
        //             // alert('中奖了啊')
        //             fn1(num)
        //         }
        //         else {
        //             // alert('没有中奖')
        //             fn2(num)
        //         }
        //     }, 2000)
        // });



        const p = new Promise(function (resolve, reject) {
            setTimeout(function () {
                const num = parseInt(Math.random() * 100);
                if (num % 2 === 0) {
                    // alert('中奖了啊')
                    resolve(num)
                }
                else {
                    // alert('没有中奖')
                    reject(num)
                }
            }, 2000)
        });

        console.log(p);



    </script>

</body>

</html>